package com.lhz.services;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.lhz.dao.UserDao;
import com.lhz.dao.mybatis.UserManageMybatis;
import com.lhz.pojos.User;

@Service
@Transactional
public class UserService {

	@Autowired
	private UserDao userdao;//JAP
	
	@Autowired
	private UserManageMybatis userMybatis; //mybatis
	
	 /**
	  * 查询所有会员用户分页
	  * @param u
	  * @return
	  */
	public Map<String,Object> useralls(User u,
			int pageNow,int pageSize){
		PageHelper.startPage(pageNow,pageSize,true);
 		List<User> userall=userMybatis.userInfoall();
		PageInfo<User> pageInfo = new PageInfo<>(userall);//获取查询结果
		System.err.println(pageInfo.getTotal());
		Map<String,Object> map=new HashMap<>();
		map.put("rows", userall);
		map.put("total", pageInfo.getTotal());
		map.put("pageNow", pageNow);
		if(userall==null) {
			System.out.println("没有查到你要的结果");
			map.put("result", "没有查到你要的结果");
		} 
 		return map;
	}
	
	/**
	 * 用户手机查找
	 * @param phone
	 * @return
	 */
	public Map<String,Object> userIndoall(int pageNow,int pageSize,Long phone){
			Map<String,Object> map=new HashMap<>();
			PageHelper.startPage(pageNow,pageSize,true);
			List<User> user=new ArrayList<>();
			PageInfo<User> page=new PageInfo<>(user);
			user=userMybatis.userInfoall(phone);
		if(user!=null) {
			map.put("rows", user);
			map.put("total", page.getTotal());
			map.put("pageNow", pageNow);
		}else {
			throw new RuntimeException("会员手机查找失败....");
		}
		return map;	
		 
		 
	
	}
	/**
	 * 日期条件查询
	 * @param pageNow
	 * @param pageSize
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	public Map<String,Object> userInfodate(
			int pageNow,int pageSize,
			String startTime,String endTime){
		Map<String,Object> map=new HashMap<>();
		map.put("startTime", startTime);
		map.put("endTime", endTime);
		PageHelper.startPage(pageNow,pageSize,true);
		List<User> list = userMybatis.userInfodate(map);//分页
		PageInfo<User> info=new PageInfo<>(list);
		if(list!=null) {
		map.put("rows", list);
		map.put("total", info.getTotal());
		map.put("pageNow", pageNow);
 		}else {
		map.put("result", "没有找到你要的结果");
		}
		return map;
	}
	
	/**
	 * 状态查找
	 * @param status
	 * @param pageNow
	 * @param pageSize
	 * @return
	 */
	public Map<String, Object> userInstatus(int pageNow,int pageSize,Integer status){
 		Map<String, Object> map=new HashMap<>();
 		if(status>-1) {
 		PageHelper.startPage(pageNow,pageSize,true);
 		List<User> user = userMybatis.userInstatus(status);
		PageInfo<User> info=new PageInfo<>(user);
		if(user!=null) {
			map.put("rows", user);
			map.put("total", info.getTotal());
			map.put("pageNow", pageNow);
		}else {
			map.put("result", "没有找到你要的结果");
		}
 		}else {
 			map.put("result", "参数有误!");
 		}
		return map;
	}
	
	
	
	/**
	 * 设置用户状态
	 * @param status
	 * @param phone
	 * @return
	 */
	public Map<String,String> userselectstatus(String status,String phone){
		int a=0;
		if(status.equals("正常")) {
			a=1;
		}
		if(status.equals("黑名单")) {
			a=0;
		}
		Map<String,String> map=new HashMap<>();
			User user=userdao.findByPhone(phone);
			user.setStatus(a);
			User save = userdao.save(user);
			if(save!=null) {
			map.put("result", "修改成功");
			}else {
			map.put("message", "修改失败!");
			}
		return map;
	}
	
	
	
	
}
